#ifndef _HCC_ERROR_CODE_MID_DFC_H_
#define _HCC_ERROR_CODE_MID_DFC_H_

#include "ofc/ofc_types.h"
#include "hcc/hcc_error_code.h"
#include "hcc/hcc_error_code_mid.h"

#ifdef __cplusplus
extern "C" {
#endif

// 不含行号的错误码生成
#define HCC_MAKE_MID_DFC_ERROR(error_code) (int)HCC_MAKE_MID_WARE_ERROR(kHccMidWareDfc, error_code, HCC_ERROR_LEVEL_ERROR)
// 含行号的错误码生成
#define HCC_MAKE_MID_DFC_ERROR_LINE(error_code) (int)HCC_ERROR(HCC_MAKE_MID_WARE_ERROR(kHccMidWareDfc, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * Dfc库:
 */
enum THccMidDfcErrorCodeTag
{
	kHccMidDfcSuccess	=	HCC_ERROR_SUCCESS,			///< 成功,没有错误
	kHccMidDfcIoError	=	HCC_MAKE_MID_DFC_ERROR(1),			///<I/O错误
	kHccMidDfcNoMemory	=	HCC_MAKE_MID_DFC_ERROR(2),			///<内存分配失败
	kHccMidDfcNoData	=	HCC_MAKE_MID_DFC_ERROR(3),			///<数据不存在
	kHccMidDfcManyQueue	=	HCC_MAKE_MID_DFC_ERROR(4),			///<添加队列过多
	kHccMidDfcInvalidParam	=	HCC_MAKE_MID_DFC_ERROR(5),			///<参数错误
	kHccMidDfcNoQueue	=	HCC_MAKE_MID_DFC_ERROR(6),			///<队列未注册
};
typedef enum THccMidDfcErrorCodeTag THccMidDfcErrorCode;


typedef Int32 THccMidDfcErrorCodeLine;
#define kHccMidDfcSuccessLine	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kHccMidDfcIoErrorLine	HCC_MAKE_MID_DFC_ERROR_LINE(1)	///<I/O错误
#define kHccMidDfcNoMemoryLine	HCC_MAKE_MID_DFC_ERROR_LINE(2)	///<内存分配失败
#define kHccMidDfcNoDataLine	HCC_MAKE_MID_DFC_ERROR_LINE(3)	///<数据不存在
#define kHccMidDfcManyQueueLine	HCC_MAKE_MID_DFC_ERROR_LINE(4)	///<添加队列过多
#define kHccMidDfcInvalidParamLine	HCC_MAKE_MID_DFC_ERROR_LINE(5)	///<参数错误
#define kHccMidDfcNoQueueLine	HCC_MAKE_MID_DFC_ERROR_LINE(6)	///<队列未注册

//旧版本适配补丁
#define kHccMidDfcCodeSuccess kHccMidDfcSuccess
#define kHccMidDfcManayQueue kHccMidDfcManyQueue


#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_MID_DFC_H_
/**
 * @
 */
